- GLib Overview
-
Compiling the GLib package —
How to compile GLib itself
-
Cross-compiling the GLib package —
How to cross-compile GLib
-
Compiling GLib Applications —
How to compile your GLib application
-
Running GLib Applications —
How to run and debug your GLib application
-
Changes to GLib —
Incompatible changes made between successing versions of GLib
-
Mailing lists and bug reports —
Getting help with GLib
- GLib Fundamentals
-
Version Information — Variables and functions to check the GLib version
-
Basic Types — standard GLib types, defined for ease-of-use and portability.
-
Limits of Basic Types — portable method of determining the limits of the standard types.
-
Standard Macros — commonly-used macros.
-
Type Conversion Macros —
portably storing integers in pointer variables.
-
Byte Order Macros — a portable way to convert between different byte orders.
-
Numerical Definitions — mathematical constants, and floating point decomposition.
-
Miscellaneous Macros — specialized macros which are not used often.
-
Atomic Operations — basic atomic integer and pointer operations
- GLib Core Application Support
-
The Main Event Loop — manages all available sources of events.
-
Threads —
thread abstraction; including threads, different mutexes, conditions
and thread private data.
-
Thread Pools — pools of threads to execute work concurrently.
-
Asynchronous Queues — asynchronous communication between threads.
-
Dynamic Loading of Modules — portable method for dynamically loading 'plug-ins'.
-
Memory Allocation — general memory-handling.
-
IO Channels — portable support for using files, pipes and sockets.
-
Error Reporting — a system for reporting errors.
-
Message Output and Debugging Functions — functions to output messages and help debug applications.
-
Message Logging — versatile support for logging messages with different levels of importance.
- GLib Utilities
-
String Utility Functions — various string-related functions.
-
Character Set Conversion — convert strings between different character sets using
iconv()
.
-
Unicode Manipulation — functions operating on Unicode characters and UTF-8 strings.
-
Base64 Encoding — encodes and decodes data in Base64 format
-
Internationalization — gettext support macros.
-
Date and Time Functions — calendrical calculations and miscellaneous time stuff.
-
Random Numbers — pseudo-random number generator.
-
Hook Functions — support for manipulating lists of hook functions.
-
Miscellaneous Utility Functions — a selection of portable utility functions.
-
Lexical Scanner — a general purpose lexical scanner.
-
Automatic String Completion — support for automatic completion using a group of target strings.
-
Timers —
keep track of elapsed time.
-
Spawning Processes — process launching with
fork()
/exec()
.
-
File Utilities — various file-related functions.
-
Shell-related Utilities — shell-like commandline handling.
-
Commandline option parser — parses commandline options
-
Glob-style pattern matching — matches strings against patterns containing '*' (wildcard) and '?' (joker).
-
Simple XML Subset Parser — parses a subset of XML.
-
Key-value file parser — parses
.ini
-like config files
-
Bookmark file parser — parses files containing bookmarks
-
Windows Compatibility Functions — UNIX emulation on Windows.
- GLib Data Types
-
Memory Slices — efficient way to allocate groups of equal-sized chunks of memory.
-
Memory Chunks — deprecated way to allocate groups of equal-sized chunks of memory.
-
Doubly-Linked Lists — linked lists containing integer values or pointers to data, with the ability
to iterate over the list in both directions.
-
Singly-Linked Lists — linked lists containing integer values or pointers to data, limited to
iterating over the list in one direction.
-
Double-ended Queues — double-ended queue data structure.
-
Trash Stacks — maintain a stack of unused allocated memory chunks.
-
Hash Tables — associations between keys and values so that given a key the value
can be found quickly.
-
Strings — text buffers which grow automatically as text is added.
-
String Chunks — efficient storage of groups of strings.
-
Arrays — arrays of arbitrary elements which grow automatically as elements are added.
-
Pointer Arrays — arrays of pointers to any type of data, which grow automatically as new
elements are added.
-
Byte Arrays — arrays of bytes, which grow automatically as elements are added.
-
Balanced Binary Trees — a sorted collection of key/value pairs optimized for searching
and traversing in order.
-
N-ary Trees — trees of data with any number of branches.
-
Quarks — a 2-way association between a string and a unique integer identifier.
-
Keyed Data Lists — lists of data elements which are accessible by a string or GQuark identifier.
-
Datasets — associate groups of data elements with particular memory locations.
-
Relations and Tuples — tables of data which can be indexed on any number of fields.
-
Caches — caches allow sharing of complex data structures to save resources.
-
Memory Allocators — deprecated way to allocate chunks of memory for GList, GSList and GNode.
- GLib Tools
-
glib-gettextize — gettext internationalization utility
- Index
- Index of deprecated symbols
- Index of new symbols in 2.2
- Index of new symbols in 2.4
- Index of new symbols in 2.6
- Index of new symbols in 2.8
- Index of new symbols in 2.10
- Index of new symbols in 2.12